/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package CapaLogica;

import CapaDatos.Articulo_POJO;
import CapaDatos.Categoria_DAO;
import CapaDatos.Categoria_POJO;
import java.util.LinkedList;

/**
 *
 * @author Cajas
 */
public class Catalogo {
    private int CantidadObjetos;
    
    private LinkedList<Categoria> lista_categorias;
    private boolean error = false;
   
    public Catalogo(){
        lista_categorias = new LinkedList<Categoria>();
        generarListaCategorias();
    }
    

    private void generarListaCategorias(){
        //aqui es donde se hace la consulta con modulo de datos
        //y se llena la lista.
        Categoria_DAO cat = new Categoria_DAO();
        LinkedList<Categoria_POJO> categos = cat.obtenerCategorias();
        if(categos != null){
        for(int i = 0; i < categos.size(); i++){
            lista_categorias.add(new Categoria(categos.get(i).getIdCategoria(), categos.get(i).getTitulo()));
        }        
        }else{
            this.error = true;
        }
    
    }
    
    public Respuesta enviarCategorias(){ 
        Respuesta response = new Respuesta();
        response.setTipoObjeto(31);
            if(error == false){
              response.setTipoMensaje(0);
              response.setMensaje("Categorias cargadas exitosamente");
              response.setObjetoRespuesta(this.lista_categorias);      
            }else{
                response.setTipoMensaje(1);
                response.setMensaje("No se pudo encontrar ninguna categoria");
            }
        return response;
    }
     
    public Respuesta enviarArticulos(int id_categoria){ 
        Respuesta response = new Respuesta();
        Categoria_DAO categos = new Categoria_DAO();
        //solo hay que corregir el nombre del metodo que devuelve esto
        //los de datos lo van a arreglar...xD
        LinkedList<Articulo_POJO> articulos = categos.obtenerArticulosCat(id_categoria);
        if(articulos != null){
          response.setTipoMensaje(0);
          response.setObjetoRespuesta(articulos);       
        }else{
          response.setTipoMensaje(1);
          response.setMensaje("No existen articulos para esa categoria");        
        }
        return response;  
    }

    /*************GETTERS and SETTERS************/
    
    public int getCantidadObjetos() {
        return CantidadObjetos;
    }

    public void setCantidadObjetos(int CantidadObjetos) {
        this.CantidadObjetos = CantidadObjetos;
    }
    
    
}
